package com.huatai.datadevelop.entity;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.huatai.datadevelop.vo.TableStructureModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @Author zhangbenting
 * @Description TODO
 * @Date 2023/9/1 11:39
 * @Version 1.0
 */
@ApiModel(value = "调度任务数据表管理实体类",description = "调度任务数据表管理实体类")
@TableName("schedule_table_config")
@Data
public class TableManageEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@ApiModelProperty("调度任务数据表管理Id")
	@TableId(type = IdType.AUTO)
	private Integer id;
	/**
	 * 名称
	 */
	@ApiModelProperty("名称")
	private String name = "";
	/**
	 * 表名  必须以zbt_开头
	 */
	@ApiModelProperty("表名")
	private String tableName = "";
	/**
	 * 表字段
	 */
	@ApiModelProperty("表字段")
	private String field = "";

	/**
	 * 存放数据表结构model
	 */
	@ApiModelProperty("存放数据表结构model")
	private String tableModel = "";

	/**
	 * 接口地址
	 */
	@ApiModelProperty("接口地址")
	private String url = "";

	/**
	 * 请求方式  POST GET
	 */
	@ApiModelProperty("请求方式")
	private String method = "";

	/**
	 * 请求参数
	 */
	@ApiModelProperty("请求参数")
	private String body = "";

	/**
	 * 分页参数 如：pageNum,pageSize
	 */
	@ApiModelProperty("分页参数")
	private String pageData = "";

	/**
	 * 数据每页条数
	 */
	@ApiModelProperty("数据每页条数")
	private Integer defaultPageCount = 0;

	/**
	 * 请求头
	 */
	@ApiModelProperty("请求头")
	private String hearder = "";

	/**
	 * 总条数数据路径
	 */
	@ApiModelProperty("总条数数据路径")
	private String totalPath = "";

	/**
	 * 数据路径  一般是列表
	 */
	@ApiModelProperty("数据路径")
	private String dataPath = "";

	/**
	 * 是否需要token
	 */
	@ApiModelProperty("是否需要token")
	private String needToken = "";

	/**
	 * 所需的token id
	 */
	@ApiModelProperty("所需的token")
	private Integer tokenId ;
	/**
	 * token前缀
	 */
	@ApiModelProperty("token前缀")
	private String tokenPrefix = "";

	/**
	 * token放置位置 请求url后面、请求头里面、请求body里面
	 * param,heard,body
	 */
	@ApiModelProperty("token放置位置")
	private String tokenPath = "";

	/**
	 * token  参数名称   如：token,access_token,sign等
	 */
	@ApiModelProperty("参数名称")
	private String tokenData = "";

	/**
	 * 数据更新方式
	 * allDelete  全量更新
	 * increment  增量更新   ,字段增量更新
	 *
	 */
	@ApiModelProperty("数据更新方式")
	private String updateType = "";

	/**
	 * 库表模型
	 */
	@ApiModelProperty("库表模型表结构")
	@TableField(exist = false)
	public List<TableStructureModel> tableList;

	@ApiModelProperty("库表模型JSON请求体")
	@TableField(exist = false)
	public JSONObject jsonBody;

	@ApiModelProperty("库表模型JSON头")
	@TableField(exist = false)
	public JSONObject jsonHeard;
}
